for 循环结构
1 2 3 4
| for i [in { }] # 范围 do 循环执行logic done
|
循环输出用户输入
1 2 3 4 5 6 7 8
| # 默认去 $@,取所有位置变量值 for i do echo $i done
$ ./for_test.sh 1,2,3,3,000,233 1,2,3,3,000,233
|
自动生成序列
{0..10}、{a..z} 、{1..100..2}
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $ echo {0..10} 0 1 2 3 4 5 6 7 8 9 10
$ echo {a..z} a b c d e f g h i j k l m n o p q r s t u v w x y z
#此命令mac os系统不支持,直接原文输出 $ echo {1..10..2} 1 3 5 7 9
#直接原文输出,不会生成序列, $ i=10 $ echo {1..$i} $ {1..10}
|
seq
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| # 默认\n连接输出,通过-s修改,支持上文中的变量,不必用echo $ i=5 $ seq 1 $i 1 2 3 4 5
$ seq -s '' 1 $i 12345678910
#指定步长,mac 输出后,会添加| ;linux不添加| $ seq -s '|' 2 2 10 2|4|6|8|10|
#不指定起始位置 $ seq -s '|' 9 1|2|3|4|5|6|7|8|9
|
闰年判定
1 2 3 4 5 6 7 8 9
| #!/bin/bash for i in {1990..2200} do if [[ $[i%4] -eq 0 && $[i%100] -ne 0 || $[i%400] -eq 0 ]];then echo "$i:是闰年" else echo "$i:不是闰年" fi done
|
本文作者:前端analysis
版权声明: 本文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏